<?php

class principal
{
    var $tabla = "";
    var $consulta = "";
	
	
	//conexion local
    var $servidor = "localhost";
    var $usuario = "root";
    var $clave = "";
    var $bdd = "facturacion";


//conexion remota nixiweb

//var $servidor = "mysql.nixiweb.com";
//var $usuario = "u469572173_factu";
//var $clave = "factura";
//var $bdd = "u469572173_factu";

    function cerrarConexion($conex)
    {
        mysql_close($conex);
    }

    function consulta($consulta)
    {
        $ejecuta_consulta = mysql_query($consulta);

        if (mysql_num_rows($ejecuta_consulta) > 0) {
            echo "<br>existen registros en la base de datos.<br>";
        } else {
            echo "<br>No existen registros en la base de datos.<br>";
        }
        return mysql_query($consulta);
    }


    function ejecutar($query)
    {

        return mysql_query($query);
    }

    function asociar($asociar)
    {
        return mysql_fetch_assoc($asociar);
    }

    function resultados($resultado)
    {
        return mysql_fetch_array($resultado);
    }

    function registros_filas($resultado)
    {
        return mysql_fetch_row($resultado);
    }

    function registros_objetos($resultado)
    {
        return mysql_fetch_object($resultado);
    }

    function nombre_campos($consulta, $numero_registro)
    {
        return mysql_field_name($consulta, $numero_registro);
    }

    function numero_campos($consulta)
    {
        return mysql_num_fields($consulta);
    }

    function tipo_campos($campo, $posicion)
    {
        return mysql_field_type($campo, $posicion);
    }


    function nombre_tabla($consulta, $numero_tabla)
    {
        return mysql_field_table($consulta, $numero_tabla);
    }

    //////////////////////// paginacion de las tablas /////////////////////////


    function total_paginas($all)
    {
        return mysql_num_rows($all);
    }


    function refrescar($todo)
    {
        return mysql_free_result($todo);
    }


    function conectar_sql_server()
    {

        $conn = mysql_connect($this->servidor, $this->usuario, $this->clave);
        if (!$conn) {
            die('No se pudo Conectar: error');
        }
        mysql_select_db($this->bdd, $conn);

    }


    function conectar_mysql()
    {

       if (!($conn = mysql_connect($this->servidor, $this->usuario, $this->clave))){
		   echo'error al conectarse con la BDD';
	   }
      
       if (!(mysql_select_db($this->bdd, $conn))){
		   echo 'error al seleccionar la base de datos';
		   }

    }


    function tomar_registos($buscar_valor, $tabla, $campo)
    {
        $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
        $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;


        $result = array();

        $where = "$campo like '%" . $buscar_valor . "%' ";
        $rs = $this->ejecutar("select count(*) from $tabla where " . $where);
        $row = $this->registros_filas($rs);
        $result["total"] = $row[0];

        $rs = $this->ejecutar("select top 500 * from $tabla where " . $where);

        $result["estado"] = "consulto";


        $items = array();
        while ($row = $this->registros_objetos($rs)) {

            array_push($items, $row);
        }
        $result["rows"] = $items;


        if (!$rs) {
            throw new Exception("Ocurrio un error : <br>", 0);
        } else {
            echo json_encode($result);

        }
    }


    function eliminar_registros($tabla, $campo_eliminar, $registro_eliminar)
    {
        $sql = "delete from $tabla where $campo_eliminar='$registro_eliminar'";
        $result = mysql_query($sql);
        if ($result) {
            echo json_encode(array('success' => true));
        } else {
            echo json_encode(array('msg' => 'Some errors occured.'));
        }

    }


    function cargar_formulario($tabla, $campo, $buscar, $numero_caja)
    {
        $resultt = array();
        $result = array();
        $items = array();
        $campos = array();
        $registros = array();
        $nuevo = array();
        $raya = '';


        $rs = $this->ejecutar("select * from $tabla where $campo = '$buscar' ");
		$n_campos = $this->numero_campos($rs);

        while ($row = $this->registros_objetos($rs)) {

            array_push($items, $row);

        }

        //print_r($items).'<br>';


        $resultado_item = substr(json_encode($items), 1, -1);


        if (!$rs) {
            throw new Exception("Ocurrio un error : <br>", 0);
        } else {

            //echo json_encode($items);
            //echo $resultado_item.'<br>';

            $valores = (array_keys((json_decode($resultado_item, true))));

            $resulta = ((json_decode($resultado_item, true)));

            foreach ($resulta as $resultado_registro) {
                $result[] .= $resultado_registro;
            }

            foreach ($valores as $titulo_campo) {
                $registro[] .= $titulo_campo . $numero_caja;
            }


            for ($i = 0; $i < $n_campos; $i++) {
                $raya .= '"' . $registro[$i] . '":"' . $result[$i] . '",';
            }


            $nuevo_item = substr(($raya), 0, -1);
            $nuevo_resultado_item = '{' . $nuevo_item . '}';

            echo $nuevo_resultado_item;

        }
    }


    function accion_consulta($sql)
    {
        $result = $this->ejecutar($sql);

        if (!$result) {
            throw new Exception("Ocurrio un error : <br>", 0);
        }
        if ($result) {
            echo json_encode(array('success' => true));
        } else {
            echo json_encode(array('msg' => 'ocurrio un error.'));
        }
    }


    function cargar_datos($tabla, $campo, $lista)
    {
        $rs = $this->ejecutar("select $campo from $tabla");
		

        $numero_registros = $this->total_paginas($rs);

        $registros = array();

        while ($resultados = $this->resultados($rs)) {
            $registros[] = $resultados[$campo];
            //$registros[] = $resultados['identificacion'];
        }


        $i = 0;
        echo '<datalist id="' . $lista . '">';
        while ($i < $numero_registros) {
            echo '<option value="' . $registros[$i] . '"><br>';
            $i++;
        }
        echo '</datalist>';


        if (!$rs) {
        } else {
        }

        mysql_free_result($rs);
    }



    function cargar_options($tabla, $campo, $lista)
    {
        $rs = $this->ejecutar("select $campo from $tabla");

        $numero_registros = $this->total_paginas($rs);

        $registros = array();

        while ($resultados = $this->resultados($rs)) {
            $registros[] = $resultados[$campo];
            //$registros[] = $resultados['identificacion'];
        }


        $i = 0;
echo '<option></option>';
        while ($i < $numero_registros) {
			
            echo '<option value="' . $registros[$i] . '"> '.$registros[$i].' </option>  <br>';
            $i++;
        }
  


        if (!$rs) {
        } else {
        }

        mysql_free_result($rs);
    }


}


?>